﻿namespace Microsoft.Xml.Serialization.GeneratedAssembly
{
    using System;
    using System.Xml;
    using System.Xml.Serialization;

    public class XmlSerializationReaderSmsService : XmlSerializationReader
    {
        private string id1_SendMessageResponse;
        private string id2_httptempuriorg;
        private string id3_SendMessageResult;
        private string id4_GetBalanceResponse;
        private string id5_GetBalanceResult;
        private string id6_RegisterExResponse;
        private string id7_RegisterExResult;
        private string id8_RegisterZsResponse;
        private string id9_RegisterZsResult;

        protected override void InitCallbacks()
        {
        }

        protected override void InitIDs()
        {
            this.id3_SendMessageResult = base.Reader.NameTable.Add("SendMessageResult");
            this.id1_SendMessageResponse = base.Reader.NameTable.Add("SendMessageResponse");
            this.id4_GetBalanceResponse = base.Reader.NameTable.Add("GetBalanceResponse");
            this.id6_RegisterExResponse = base.Reader.NameTable.Add("RegisterExResponse");
            this.id9_RegisterZsResult = base.Reader.NameTable.Add("RegisterZsResult");
            this.id7_RegisterExResult = base.Reader.NameTable.Add("RegisterExResult");
            this.id2_httptempuriorg = base.Reader.NameTable.Add("http://tempuri.org/");
            this.id5_GetBalanceResult = base.Reader.NameTable.Add("GetBalanceResult");
            this.id8_RegisterZsResponse = base.Reader.NameTable.Add("RegisterZsResponse");
        }

        public object[] Read1_SendMessageResponse()
        {
            base.Reader.MoveToContent();
            object[] o = new object[1];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.IsStartElement(this.id1_SendMessageResponse, this.id2_httptempuriorg))
                {
                    bool[] flagArray = new bool[1];
                    if (base.Reader.IsEmptyElement)
                    {
                        base.Reader.Skip();
                        base.Reader.MoveToContent();
                        continue;
                    }
                    base.Reader.ReadStartElement();
                    base.Reader.MoveToContent();
                    int num3 = 0;
                    int num4 = base.ReaderCount;
                    while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
                    {
                        if (base.Reader.NodeType == XmlNodeType.Element)
                        {
                            if ((!flagArray[0] && (base.Reader.LocalName == this.id3_SendMessageResult)) && (base.Reader.NamespaceURI == this.id2_httptempuriorg))
                            {
                                o[0] = base.Reader.ReadElementString();
                                flagArray[0] = true;
                            }
                            else
                            {
                                base.UnknownNode(o, "http://tempuri.org/:SendMessageResult");
                            }
                        }
                        else
                        {
                            base.UnknownNode(o, "http://tempuri.org/:SendMessageResult");
                        }
                        base.Reader.MoveToContent();
                        base.CheckReaderCount(ref num3, ref num4);
                    }
                    base.ReadEndElement();
                }
                else
                {
                    base.UnknownNode(null, "http://tempuri.org/:SendMessageResponse");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read2_SendMessageResponseOutHeaders()
        {
            base.Reader.MoveToContent();
            object[] o = new object[0];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    base.UnknownNode(o, "");
                }
                else
                {
                    base.UnknownNode(o, "");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read3_GetBalanceResponse()
        {
            base.Reader.MoveToContent();
            object[] o = new object[1];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.IsStartElement(this.id4_GetBalanceResponse, this.id2_httptempuriorg))
                {
                    bool[] flagArray = new bool[1];
                    if (base.Reader.IsEmptyElement)
                    {
                        base.Reader.Skip();
                        base.Reader.MoveToContent();
                        continue;
                    }
                    base.Reader.ReadStartElement();
                    base.Reader.MoveToContent();
                    int num3 = 0;
                    int num4 = base.ReaderCount;
                    while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
                    {
                        if (base.Reader.NodeType == XmlNodeType.Element)
                        {
                            if ((!flagArray[0] && (base.Reader.LocalName == this.id5_GetBalanceResult)) && (base.Reader.NamespaceURI == this.id2_httptempuriorg))
                            {
                                o[0] = base.Reader.ReadElementString();
                                flagArray[0] = true;
                            }
                            else
                            {
                                base.UnknownNode(o, "http://tempuri.org/:GetBalanceResult");
                            }
                        }
                        else
                        {
                            base.UnknownNode(o, "http://tempuri.org/:GetBalanceResult");
                        }
                        base.Reader.MoveToContent();
                        base.CheckReaderCount(ref num3, ref num4);
                    }
                    base.ReadEndElement();
                }
                else
                {
                    base.UnknownNode(null, "http://tempuri.org/:GetBalanceResponse");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read4_GetBalanceResponseOutHeaders()
        {
            base.Reader.MoveToContent();
            object[] o = new object[0];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    base.UnknownNode(o, "");
                }
                else
                {
                    base.UnknownNode(o, "");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read5_RegisterExResponse()
        {
            base.Reader.MoveToContent();
            object[] o = new object[1];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.IsStartElement(this.id6_RegisterExResponse, this.id2_httptempuriorg))
                {
                    bool[] flagArray = new bool[1];
                    if (base.Reader.IsEmptyElement)
                    {
                        base.Reader.Skip();
                        base.Reader.MoveToContent();
                        continue;
                    }
                    base.Reader.ReadStartElement();
                    base.Reader.MoveToContent();
                    int num3 = 0;
                    int num4 = base.ReaderCount;
                    while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
                    {
                        if (base.Reader.NodeType == XmlNodeType.Element)
                        {
                            if ((!flagArray[0] && (base.Reader.LocalName == this.id7_RegisterExResult)) && (base.Reader.NamespaceURI == this.id2_httptempuriorg))
                            {
                                o[0] = base.Reader.ReadElementString();
                                flagArray[0] = true;
                            }
                            else
                            {
                                base.UnknownNode(o, "http://tempuri.org/:RegisterExResult");
                            }
                        }
                        else
                        {
                            base.UnknownNode(o, "http://tempuri.org/:RegisterExResult");
                        }
                        base.Reader.MoveToContent();
                        base.CheckReaderCount(ref num3, ref num4);
                    }
                    base.ReadEndElement();
                }
                else
                {
                    base.UnknownNode(null, "http://tempuri.org/:RegisterExResponse");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read6_RegisterExResponseOutHeaders()
        {
            base.Reader.MoveToContent();
            object[] o = new object[0];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    base.UnknownNode(o, "");
                }
                else
                {
                    base.UnknownNode(o, "");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read7_RegisterZsResponse()
        {
            base.Reader.MoveToContent();
            object[] o = new object[1];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.IsStartElement(this.id8_RegisterZsResponse, this.id2_httptempuriorg))
                {
                    bool[] flagArray = new bool[1];
                    if (base.Reader.IsEmptyElement)
                    {
                        base.Reader.Skip();
                        base.Reader.MoveToContent();
                        continue;
                    }
                    base.Reader.ReadStartElement();
                    base.Reader.MoveToContent();
                    int num3 = 0;
                    int num4 = base.ReaderCount;
                    while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
                    {
                        if (base.Reader.NodeType == XmlNodeType.Element)
                        {
                            if ((!flagArray[0] && (base.Reader.LocalName == this.id9_RegisterZsResult)) && (base.Reader.NamespaceURI == this.id2_httptempuriorg))
                            {
                                o[0] = base.Reader.ReadElementString();
                                flagArray[0] = true;
                            }
                            else
                            {
                                base.UnknownNode(o, "http://tempuri.org/:RegisterZsResult");
                            }
                        }
                        else
                        {
                            base.UnknownNode(o, "http://tempuri.org/:RegisterZsResult");
                        }
                        base.Reader.MoveToContent();
                        base.CheckReaderCount(ref num3, ref num4);
                    }
                    base.ReadEndElement();
                }
                else
                {
                    base.UnknownNode(null, "http://tempuri.org/:RegisterZsResponse");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }

        public object[] Read8_RegisterZsResponseOutHeaders()
        {
            base.Reader.MoveToContent();
            object[] o = new object[0];
            base.Reader.MoveToContent();
            int whileIterations = 0;
            int readerCount = base.ReaderCount;
            while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    base.UnknownNode(o, "");
                }
                else
                {
                    base.UnknownNode(o, "");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref whileIterations, ref readerCount);
            }
            return o;
        }
    }
}

